Form Handling এবং Input Validation

Web Development - অ্যাপাচি ট্যাপেস্ট্রি (Apache Tapestry) - Tapestry এর ডাটা ম্যানেজমেন্ট |
2
2

Apache Tapestry ফ্রেমওয়ার্কে Form Handling এবং Input Validation খুবই গুরুত্বপূর্ণ বিষয়, যা অ্যাপ্লিকেশনের ডেটা সংগ্রহ এবং ব্যবহারকারীর ইনপুট যাচাই করার প্রক্রিয়াকে সহজ ও কার্যকর করে তোলে। Tapestry ফ্রেমওয়ার্কের সাহায্যে আপনি খুব সহজেই ফর্ম তৈরি, ইনপুট সংগ্রহ, এবং ইনপুট ভ্যালিডেশন সম্পাদন করতে পারেন।

এখানে আমরা Form Handling এবং Input Validation কিভাবে Tapestry-তে কাজ করে তা বিস্তারিতভাবে আলোচনা করবো।


১. Form Handling (ফর্ম হ্যান্ডলিং)

Tapestry তে ফর্ম হ্যান্ডলিং অত্যন্ত সহজ। এটি HTML forms এবং Java ক্লাসের মধ্যে ইন্টারঅ্যাকশন ম্যানেজ করে। Tapestry ফর্মগুলো পরিচালনা করতে t:form ট্যাগ ব্যবহার করা হয়, যা ফর্মের উপাদান এবং তাদের ইনপুট ভ্যালুসমূহ সংরক্ষণ করে।

ফর্ম তৈরি

প্রথমে, একটি HTML টেমপ্লেটে একটি ফর্ম তৈরি করা হয় যেখানে ইনপুট ফিল্ডগুলি ব্যবহারকারীর ডেটা গ্রহণ করতে ব্যবহৃত হয়। এরপর, Java ক্লাসের মাধ্যমে সেই ডেটা প্রক্রিয়া করা হয়।

উদাহরণ: Basic Form
<!DOCTYPE html>
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
<head>
    <title>Sample Form</title>
</head>
<body>
    <h1>Enter Your Details</h1>

    <t:form t:id="userForm" onsubmit="return validateForm()">
        <t:textfield t:id="username" value="username" />
        <t:passwordfield t:id="password" value="password" />
        <t:submit>Submit</t:submit>
    </t:form>

</body>
</html>

এখানে:

  • t:textfield এবং t:passwordfield ইনপুট ফিল্ড হিসাবে কাজ করে।
  • t:form ট্যাগটি ফর্মের মাধ্যমে ইনপুট ডেটা সংগ্রহ এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়।
  • onsubmit="return validateForm()" দিয়ে ফর্ম সাবমিটের আগে JavaScript ভ্যালিডেশন করা হচ্ছে।

Java ক্লাসের মাধ্যমে ফর্ম ডেটা প্রক্রিয়া

Java ক্লাসে ফর্মের ডেটা প্রক্রিয়া করার জন্য, Tapestry Form Submission মেথড ব্যবহার করা হয়। এখানে onSubmit মেথডে ইনপুট ডেটা প্রক্রিয়া করা হয়।

উদাহরণ: Java ক্লাস
public class UserForm {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void onSubmit() {
        // Form submission handler
        System.out.println("Username: " + username);
        System.out.println("Password: " + password);
    }
}

এখানে:

  • getUsername() এবং setUsername() মেথড ফর্মের ইনপুট ফিল্ডের মান গ্রহণ এবং সেট করার জন্য ব্যবহার করা হচ্ছে।
  • onSubmit() মেথড ফর্ম সাবমিটের পর কার্যকর হয় এবং ডেটা প্রসেস করা হয়।

২. Input Validation (ইনপুট ভ্যালিডেশন)

Tapestry ফ্রেমওয়ার্কে ইনপুট ভ্যালিডেশন অত্যন্ত সহজ এবং কার্যকরভাবে পরিচালনা করা যায়। t:validate ট্যাগ ব্যবহার করে ফর্মের ইনপুটগুলোর ভ্যালিডেশন করা যায়। এটি Tapestry এর মধ্যে Built-in Validation ফিচার ব্যবহার করে।

২.১. Built-in Validation

Tapestry অনেক ধরনের Built-in Validation ফিচার প্রদান করে, যেমন:

  • RequiredFieldValidator: ইনপুট ফিল্ডটি খালি রাখা যাবে না।
  • RangeValidator: ইনপুট মান নির্দিষ্ট পরিসরের মধ্যে থাকতে হবে।
  • EmailValidator: ইনপুটটি বৈধ ইমেইল ঠিকানা হতে হবে।
উদাহরণ: Required Field Validation
<t:form t:id="userForm">
    <t:textfield t:id="username" value="username" />
    <t:requiredfieldvalidator t:for="username" message="Username is required!" />
    <t:submit>Submit</t:submit>
</t:form>

এখানে t:requiredfieldvalidator ইনপুট ফিল্ডে ভ্যালিডেশন যোগ করছে, যা নিশ্চিত করবে যে ব্যবহারকারী username ফিল্ডটি খালি না রেখে সাবমিট করতে পারবে না।

২.২. Custom Validation

Tapestry-তে আপনি Custom Validationও করতে পারেন যেখানে আপনি নিজস্ব কাস্টম ভ্যালিডেশন রুলস তৈরি করতে পারেন। @Validate অ্যানোটেশন ব্যবহার করে এই কাস্টম ভ্যালিডেশন সংজ্ঞায়িত করা যায়।

উদাহরণ: Custom Validation
public class UserForm {
    private String username;

    @Validate("minlength=5")
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void onSubmit() {
        // Validation passed
        System.out.println("Username: " + username);
    }
}

এখানে @Validate("minlength=5") কাস্টম ভ্যালিডেশন যোগ করা হয়েছে যাতে username ফিল্ডের মান কমপক্ষে ৫টি অক্ষরের হতে হবে।


৩. Tapestry এর ফর্ম সাবমিট এবং প্রক্রিয়া করার প্রক্রিয়া

  1. Form Rendering: Tapestry t:form ট্যাগের মাধ্যমে ফর্ম তৈরি এবং রেন্ডার করে।
  2. User Input: ব্যবহারকারী ইনপুট ফিল্ডে ডেটা প্রদান করে এবং ফর্মটি সাবমিট করে।
  3. Form Submission: ফর্মের ডেটা সাবমিট হলে, onSubmit() মেথডে সেই ডেটা প্রক্রিয়া করা হয়।
  4. Validation: ফর্ম সাবমিটের আগে ভ্যালিডেশন প্রক্রিয়া চলে। যদি ভ্যালিডেশন ব্যর্থ হয়, তবে ফর্মটি আবার প্রদর্শিত হয় এবং সংশ্লিষ্ট ত্রুটি বার্তা দেখানো হয়।

সারাংশ

Tapestry-তে Form Handling এবং Input Validation অত্যন্ত শক্তিশালী এবং সহজ। ফর্ম ডেটা সংগ্রহ, প্রক্রিয়া এবং ইনপুট ভ্যালিডেশন কার্যক্রমকে Tapestry-তে খুবই স্বাভাবিক ও দক্ষভাবে পরিচালনা করা যায়। Tapestry এর Built-in Validation এবং Custom Validation ফিচারের মাধ্যমে আপনি সহজেই ইনপুট যাচাই করতে পারেন, যা ব্যবহারকারী থেকে সঠিক ডেটা সংগ্রহে সহায়তা করে।

Content added By
Promotion